草庐IT

git commit规范

全部标签

【以太网通信】RGMII 接口及其时序规范

RGMII接口是常见的以太网通信接口,主要用于MAC和PHY之间的通信,支持10/100/1000Mbps三种通信速率。本文主要介绍RGMII接口定义及其在1000Mbps速率下的时序规范。目录1接口定义2时序规范2.1OriginalRGMII2.2RGMII-ID1接口定义        RGMII由GMII(GigabitMediaIndependentInterface)简化演变而来,意为 ReducedGMII,是常见的以太网MAC和PHY之间的通信接口,优点是比GMII减少了近一半的管脚,节约设计成本。    RGMII支持10/100/1000Mbps三种通信速率,接口定义如下:

【以太网通信】RGMII 接口及其时序规范

RGMII接口是常见的以太网通信接口,主要用于MAC和PHY之间的通信,支持10/100/1000Mbps三种通信速率。本文主要介绍RGMII接口定义及其在1000Mbps速率下的时序规范。目录1接口定义2时序规范2.1OriginalRGMII2.2RGMII-ID1接口定义        RGMII由GMII(GigabitMediaIndependentInterface)简化演变而来,意为 ReducedGMII,是常见的以太网MAC和PHY之间的通信接口,优点是比GMII减少了近一半的管脚,节约设计成本。    RGMII支持10/100/1000Mbps三种通信速率,接口定义如下:

挑战在代码里面不写for循环,让代码变得更简洁、规范、结构化,以及更好的代码可读性!

哈喽兄弟们,又是新的一天!今天你敲代码了吗?一、序言为什么要挑战自己在代码里不写forloop?因为这样可以迫使你去学习使用比较高级、比较地道的语法或library。文中以python为例子,讲了不少大家其实在别人的代码里都见过、但自己很少用的语法。自从我开始探索Python中惊人的语言功能已经有一段时间了。一开始,我给自己一个挑战,目的是让我练习更多的Python语言功能,而不是使用其他编程语言的编程经验。这让事情变得越来越有趣!代码变得越来越简洁,代码看起来更加结构化和规范化。下面我将会介绍这些好处。二、正文通常如下使用场景中会用到for循环:在一个序列来提取一些信息从一个序列生成另一个序

挑战在代码里面不写for循环,让代码变得更简洁、规范、结构化,以及更好的代码可读性!

哈喽兄弟们,又是新的一天!今天你敲代码了吗?一、序言为什么要挑战自己在代码里不写forloop?因为这样可以迫使你去学习使用比较高级、比较地道的语法或library。文中以python为例子,讲了不少大家其实在别人的代码里都见过、但自己很少用的语法。自从我开始探索Python中惊人的语言功能已经有一段时间了。一开始,我给自己一个挑战,目的是让我练习更多的Python语言功能,而不是使用其他编程语言的编程经验。这让事情变得越来越有趣!代码变得越来越简洁,代码看起来更加结构化和规范化。下面我将会介绍这些好处。二、正文通常如下使用场景中会用到for循环:在一个序列来提取一些信息从一个序列生成另一个序

JAVA缓存规范 —— 虽迟但到的JCache API与天生不俗的Spring Cache

大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。有诗云“纸上得来终觉浅,绝知此事要躬行”,在上一篇文章《手写本地缓存实战2——打造正规军,构建通用本地缓存框架》中,我们一起论证并逐步实现了一套简化版本的通用本地缓存框架,并在过程中逐步剖析了缓存设计关键要素的实现策略。本篇文章中,我们一起来聊一聊缓存框架实现所需要遵循的规范。为何需要规范上一章中构建的最简化版本的缓存框架,虽然可以使用,但是也存在一个问题,就是它对外提供的实现接口都是框架根据自己的需要而自定义的。这样一来,项目集成了此缓

JAVA缓存规范 —— 虽迟但到的JCache API与天生不俗的Spring Cache

大家好,又见面了。本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容,将会通过系列专题,讲清楚缓存的方方面面。如果感兴趣,欢迎关注以获取后续更新。有诗云“纸上得来终觉浅,绝知此事要躬行”,在上一篇文章《手写本地缓存实战2——打造正规军,构建通用本地缓存框架》中,我们一起论证并逐步实现了一套简化版本的通用本地缓存框架,并在过程中逐步剖析了缓存设计关键要素的实现策略。本篇文章中,我们一起来聊一聊缓存框架实现所需要遵循的规范。为何需要规范上一章中构建的最简化版本的缓存框架,虽然可以使用,但是也存在一个问题,就是它对外提供的实现接口都是框架根据自己的需要而自定义的。这样一来,项目集成了此缓

​打造企业自己代码规范IDEA插件(上)

——基于阿里巴巴代码规范插件(P3C)“交流互鉴是文明发展的本质要求。只有同其他文明交流互鉴、取长补短,才能保持旺盛生命活力。”这说的是文明,但映射到计算机技术本身也是相通的,开源代码/项目就是一种很好的技术交流方式。怎么借鉴开源代码来打造一些自身面对的问题解决方案?也许有一些Demo来进行回答演示或许更为贴近地气些。这里打算写一些玩转源码为主题的文字来实践的回答,最近在看P3C的一些源码,那就从这开始吧。P3C-IDEA插件基本结构主体功能上首先是菜单上的三个部分编码规约扫描、实时扫描开关、多语言切换,对应到Idea插件结构中的三个action:AliInspectionAction、Tog

​打造企业自己代码规范IDEA插件(上)

——基于阿里巴巴代码规范插件(P3C)“交流互鉴是文明发展的本质要求。只有同其他文明交流互鉴、取长补短,才能保持旺盛生命活力。”这说的是文明,但映射到计算机技术本身也是相通的,开源代码/项目就是一种很好的技术交流方式。怎么借鉴开源代码来打造一些自身面对的问题解决方案?也许有一些Demo来进行回答演示或许更为贴近地气些。这里打算写一些玩转源码为主题的文字来实践的回答,最近在看P3C的一些源码,那就从这开始吧。P3C-IDEA插件基本结构主体功能上首先是菜单上的三个部分编码规约扫描、实时扫描开关、多语言切换,对应到Idea插件结构中的三个action:AliInspectionAction、Tog

​打造企业自己代码规范IDEA插件(中)

一些基本概念在开始独立研发公司自己的代码规范检查规则之前,先介绍一些相关的基本概念。阿里巴巴代码规范很多规则其实都是基于开源框架PMD进行的研发。PMD用官方的话语介绍来说:PMD是一个源代码分析器。它可以发现常见的编程缺陷,如未使用的变量、空catch块、不必要的对象创建等。它支持多种语言。它可以用自定义规则进行扩展。它使用JavaCC和Antlr将源文件解析为抽象语法树(AST),并对其运行规则以查找冲突。规则可以用Java编写,也可以使用XPath查询。开源代码库:https://github.com/pmd/pmd这里涉及到一个很关键的概念——AST 抽象语法树(AbstractSyn

​打造企业自己代码规范IDEA插件(中)

一些基本概念在开始独立研发公司自己的代码规范检查规则之前,先介绍一些相关的基本概念。阿里巴巴代码规范很多规则其实都是基于开源框架PMD进行的研发。PMD用官方的话语介绍来说:PMD是一个源代码分析器。它可以发现常见的编程缺陷,如未使用的变量、空catch块、不必要的对象创建等。它支持多种语言。它可以用自定义规则进行扩展。它使用JavaCC和Antlr将源文件解析为抽象语法树(AST),并对其运行规则以查找冲突。规则可以用Java编写,也可以使用XPath查询。开源代码库:https://github.com/pmd/pmd这里涉及到一个很关键的概念——AST 抽象语法树(AbstractSyn